





/******************************* Three FLGR_Data2D parameters ***************************/


%feature("autodoc","""
[in] Function
[inout] FLGR_Data2D
[inout] FLGR_Data2D
[inout] FLGR_Data2D
[in] Number of threads
[return] FLGR_Ret\n
Start N threads to process a function (eg. function(dest,src1,src2) )
""") flgr2d_thread_function_data2d_data2d_data2d;
FLGR_Ret flgr2d_thread_function_data2d_data2d_data2d(FLGR_Ret (*fct)(FLGR_Data2D*, FLGR_Data2D*,FLGR_Data2D*),
						     FLGR_Data2D *p1, FLGR_Data2D *p2, FLGR_Data2D *p3,
						     int thread_number);

  
%feature("autodoc","""
[in] Function
[inout] FLGR_Data2D
[inout] FLGR_Data2D
[in] FLGR_Data2D Neighborhood
[in] Number of threads
[return] FLGR_Ret\n
Start N threads to process a neighborhood function (eg. function(dest,src,nhb) )
""") flgr2d_thread_function_data2d_data2d_nhb;
FLGR_Ret flgr2d_thread_function_data2d_data2d_nhb(FLGR_Ret (*fct)(FLGR_Data2D*, FLGR_Data2D*,FLGR_Data2D*),
						  FLGR_Data2D *p1, FLGR_Data2D *p2, FLGR_Data2D *nhb,
						  int thread_number);

/******************************* Two FLGR_Data2D parameters ***************************/


%feature("autodoc","""
[in] Function
[inout] FLGR_Data2D
[inout] FLGR_Data2D
[in] Number of threads
[return] FLGR_Ret\n
Start N threads to process a function (eg. function(dest,src) )
""") flgr2d_thread_function_data2d_data2d;
FLGR_Ret flgr2d_thread_function_data2d_data2d(FLGR_Ret (*fct)(FLGR_Data2D*, FLGR_Data2D*),
					      FLGR_Data2D *p1, FLGR_Data2D *p2,
					      int thread_number);

